﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;

public class NavMeshAgentDoc
{
    [YamlMember(Alias = "NavMeshAgent", ApplyNamingConventions = false)]
    public NavMeshAgentObj nao { get; set; }
}

public class NavMeshAgentObj
{
    [YamlMember(Alias = "m_ObjectHideFlags", ApplyNamingConventions = false)]
    public int objectHideFlags { get; set; }

    [YamlMember(Alias = "m_PrefabParentObject", ApplyNamingConventions = false)]
    public Dictionary<string, int> prefabParent { get; set; }

    [YamlMember(Alias = "m_PrefabInternal", ApplyNamingConventions = false)]
    public Dictionary<string, int> prefabInternal { get; set; }

    [YamlMember(Alias = "m_GameObject", ApplyNamingConventions = false)]
    public Dictionary<string, uint> gameObject { get; set; }

    [YamlMember(Alias = "m_Enabled", ApplyNamingConventions = false)]
    public int enabled { get; set; }

    [YamlMember(Alias = "m_AgentTypeID", ApplyNamingConventions = false)]
    public int agentTypeId { get; set; }

    [YamlMember(Alias = "m_Radius", ApplyNamingConventions = false)]
    public float radius { get; set; }

    [YamlMember(Alias = "m_Speed", ApplyNamingConventions = false)]
    public float speed { get; set; }

    [YamlMember(Alias = "m_Acceleration", ApplyNamingConventions = false)]
    public int acceleration { get; set; }

    [YamlMember(Alias = "avoidancePriority", ApplyNamingConventions = false)]
    public int avoidancePriority { get; set; }

    [YamlMember(Alias = "m_AngularSpeed", ApplyNamingConventions = false)]
    public int angularSpeed { get; set; }

    [YamlMember(Alias = "m_StoppingDistance", ApplyNamingConventions = false)]
    public int stopDistance { get; set; }

    [YamlMember(Alias = "m_AutoTraverseOffMeshLink", ApplyNamingConventions = false)]
    public int autoTraverseOffMeshLink { get; set; }

    [YamlMember(Alias = "m_AutoBraking", ApplyNamingConventions = false)]
    public int autoBreaking { get; set; }

    [YamlMember(Alias = "m_AutoRepath", ApplyNamingConventions = false)]
    public int autoRepath { get; set; }

    [YamlMember(Alias = "m_Height", ApplyNamingConventions = false)]
    public int height { get; set; }

    [YamlMember(Alias = "m_BaseOffset", ApplyNamingConventions = false)]
    public int baseOffset { get; set; }

    [YamlMember(Alias = "m_WalkableMask", ApplyNamingConventions = false)]
    public int walkableMask { get; set; }

    [YamlMember(Alias = "m_ObstacleAvoidanceType", ApplyNamingConventions = false)]
    public int obstacleAvoidanceType { get; set; }
}
